blob: 23c55ae3c02cee2da494d2cd14762d3097c21149 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6<meta name="generator" content="AsciiDoc 7.0.1" />
7<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-repo-config(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-repo-config(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-repo-config -
269 Get and set options in .git/config.
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
275<p><em>git-repo-config</em> name [value [value_regex]]
276<em>git-repo-config</em> --replace-all name [value [value_regex]]
277<em>git-repo-config</em> --get name [value_regex]
278<em>git-repo-config</em> --get-all name [value_regex]
279<em>git-repo-config</em> --unset name [value_regex]
280<em>git-repo-config</em> --unset-all name [value_regex]</p>
281</div>
282<h2>DESCRIPTION</h2>
283<div class="sectionbody">
284<p>You can query/set/replace/unset options with this command. The name is
285actually the section and the key separated by a dot, and the value will be
286escaped.</p>
Junio C Hamano235a91e2006-01-07 01:13:58287<p>If you want to set/unset an option which can occur on multiple lines, you
Junio C Hamano1a4e8412005-12-27 08:17:23288should provide a POSIX regex for the value. If you want to handle the lines
Junio C Hamano235a91e2006-01-07 01:13:58289<strong>not</strong> matching the regex, just prepend a single exclamation mark in front
Junio C Hamano1a4e8412005-12-27 08:17:23290(see EXAMPLES).</p>
291<p>This command will fail if</p>
292<ol>
293<li>
294<p>
295.git/config is invalid,
296</p>
297</li>
298<li>
299<p>
300.git/config can not be written to,
301</p>
302</li>
303<li>
304<p>
305no section was provided,
306</p>
307</li>
308<li>
309<p>
310the section or key is invalid,
311</p>
312</li>
313<li>
314<p>
315you try to unset an option which does not exist, or
316</p>
317</li>
318<li>
319<p>
320you try to unset/set an option for which multiple lines match.
321</p>
322</li>
323</ol>
324</div>
325<h2>OPTIONS</h2>
326<div class="sectionbody">
327<dl>
328<dt>
329--replace-all
330</dt>
331<dd>
332<p>
333 Default behaviour is to replace at most one line. This replaces
334 all lines matching the key (and optionally the value_regex)
335</p>
336</dd>
337<dt>
338--get
339</dt>
340<dd>
341<p>
342 Get the value for a given key (optionally filtered by a regex
343 matching the value).
344</p>
345</dd>
346<dt>
347--get-all
348</dt>
349<dd>
350<p>
351 Like get, but does not fail if the number of values for the key
352 is not exactly one.
353</p>
354</dd>
355<dt>
356--unset
357</dt>
358<dd>
359<p>
360 Remove the line matching the key from .git/config.
361</p>
362</dd>
363<dt>
364--unset-all
365</dt>
366<dd>
367<p>
368 Remove all matching lines from .git/config.
369</p>
370</dd>
371</dl>
372</div>
373<h2>EXAMPLE</h2>
374<div class="sectionbody">
375<p>Given a .git/config like this:</p>
376<div class="literalblock">
377<div class="content">
378<pre><tt>#
379# This is the config file, and
380# a '#' or ';' character indicates
381# a comment
382#</tt></pre>
383</div></div>
384<div class="literalblock">
385<div class="content">
386<pre><tt>; core variables
387[core]
388 ; Don't trust file modes
389 filemode = false</tt></pre>
390</div></div>
391<div class="literalblock">
392<div class="content">
393<pre><tt>; Our diff algorithm
394[diff]
395 external = "/usr/local/bin/gnu-diff -u"
396 renames = true</tt></pre>
397</div></div>
398<div class="literalblock">
399<div class="content">
400<pre><tt>; Proxy settings
401[proxy]
402 command="ssh" for "ssh://kernel.org/"
403 command="proxy-command" for kernel.org
404 command="myprotocol-command" for "my://"
405 command=default-proxy ; for all the rest</tt></pre>
406</div></div>
407<p>you can set the filemode to true with</p>
408<div class="listingblock">
409<div class="content">
410<pre><tt>% git repo-config core.filemode true</tt></pre>
411</div></div>
412<p>The hypothetic proxy command entries actually have a postfix to discern
413to what URL they apply. Here is how to change the entry for kernel.org
414to "ssh".</p>
415<div class="listingblock">
416<div class="content">
417<pre><tt>% git repo-config proxy.command '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>
418</div></div>
419<p>This makes sure that only the key/value pair for kernel.org is replaced.</p>
420<p>To delete the entry for renames, do</p>
421<div class="listingblock">
422<div class="content">
423<pre><tt>% git repo-config --unset diff.renames</tt></pre>
424</div></div>
425<p>If you want to delete an entry for a multivar (like proxy.command above),
426you have to provide a regex matching the value of exactly one line.</p>
427<p>To query the value for a given key, do</p>
428<div class="listingblock">
429<div class="content">
430<pre><tt>% git repo-config --get core.filemode</tt></pre>
431</div></div>
432<p>or</p>
433<div class="listingblock">
434<div class="content">
435<pre><tt>% git repo-config core.filemode</tt></pre>
436</div></div>
437<p>or, to query a multivar:</p>
438<div class="listingblock">
439<div class="content">
440<pre><tt>% git repo-config --get proxy.command "for kernel.org$"</tt></pre>
441</div></div>
442<p>If you want to know all the values for a multivar, do:</p>
443<div class="listingblock">
444<div class="content">
445<pre><tt>% git repo-config --get-all proxy.command</tt></pre>
446</div></div>
447<p>If you like to live dangerous, you can replace <strong>all</strong> proxy.commands by a
448new one with</p>
449<div class="listingblock">
450<div class="content">
451<pre><tt>% git repo-config --replace-all proxy.command ssh</tt></pre>
452</div></div>
453<p>However, if you really only want to replace the line for the default proxy,
454i.e. the one without a "for &#8230;" postfix, do something like this:</p>
455<div class="listingblock">
456<div class="content">
457<pre><tt>% git repo-config proxy.command ssh '! for '</tt></pre>
458</div></div>
459<p>To actually match only values with an exclamation mark, you have to</p>
460<div class="listingblock">
461<div class="content">
462<pre><tt>% git repo-config section.key value '[!]'</tt></pre>
463</div></div>
464</div>
465<h2>Author</h2>
466<div class="sectionbody">
467<p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p>
468</div>
469<h2>Documentation</h2>
470<div class="sectionbody">
471<p>Documentation by Johannes Schindelin.</p>
472</div>
473<h2>GIT</h2>
474<div class="sectionbody">
475<p>Part of the <a href="git.html">git(7)</a> suite</p>
476</div>
477<div id="footer">
478<div id="footer-text">
Junio C Hamano235a91e2006-01-07 01:13:58479Last updated 06-Jan-2006 17:12:42 PDT
Junio C Hamano1a4e8412005-12-27 08:17:23480</div>
481</div>
482</body>
483</html>